/**
 * 关闭文件
 * @param fd int 文件描述符
 * @param opt json|null 选项
 * 		ign: boolean 是否忽略异常  默认false:抛出
 * 		syn: boolean 是否同步操作  默认false:异步
 * @return Promise|undefined  !opt.syn->Promise
 */
$.fsClose = function(fd, opt=null){
	const $FS=require('node:fs'), ERR=(e,o)=>{
		if(!o.ign) $.err('$.fsClose', e);
	};
	$.fsClose = function(fd, opt=null){
		opt=$.mix({},opt);  fd*=1;
		if(opt.syn){
			try{ return $FS.closeSync(fd); }
			catch(e){ ERR(e,opt); return; }
		}
		return $.fsAsync('close',fd)
			.catch(err=>ERR(err,opt));
	};
	return $.fsClose(fd, opt);
};
